1. Field of the Invention
The present invention relates to a control system comprising plural common objects that can be shared by plural application programs. The present invention relates specifically to a control system that can be customized using the common objects, to a programming method for the control system, and to a peripheral devices control system applying the control system and programming method.
2. Description of the Related Art
Computers are used today to execute a wide range of processes, and use a variety of peripheral equipment that can be connected to computers. It is therefore necessary to build and provide flexible computerized systems that can be customized to a user's working environment and objectives (needs). For example, it is possible today to connect different types of printers, displays, bar code readers, and other input/output devices using a common standard bus. When the software needed to control these I/O devices is installed in the computer, the control system must be able to appropriately control each of these many devices. It is also easy to build a networked computing environment in which plural computers are connected to a common network. This makes it desirable to be able to control the processes and procedures executed by each computer on the network.
One method of constructing this type of flexible system executed in a computer is to create plural common objects that can be shared, and write the operating system and application programs using these common objects. An example of such a system is the Object Linking and Embedding (OLE) technology developed by Microsoft, and the related OLE Automation or OLE custom controls (OCX), interfaces for OLE programming.
One problem with such conventional programming methods, however, is that when one common object uses another common object, the functions of both common objects cannot be sufficiently realized. Using the custom controls OCX described above, for example, a client OCX can access properties and methods from a server OCX, but the client OCX cannot receive events generated by the server OCX.
This means that if the first OCX is an object for controlling the functions of a peripheral device such as a printer, and the second OCX is a driver for the type of peripheral device controlled by the first OCX, the first OCX can control the functions of the peripheral device via the second OCX, but cannot receive peripheral device status information through the second OCX.